Proc nelze kreslit do StatusBaru
Otázka od: Milan Cizek
5. 10. 2002 13:46
Ahoj,
mam nasledujici problem: snazim se vykreslit ikonu pred text ve statusbaru.
Nic se ale nezobrazi, kde je problem? Zkousel jsem to i pomoci
Windows.DrawIcon, ale vysledek je stejny. Jeste bych se chtel zeptat, je-li
mozne pristupovat k obrazkum v imagelistu primo, abych je napr. mohl
zobrazit prave ve statusbaru. Diky.
procedure TMainForm.StatusBarDrawPanel(StatusBar: TStatusBar; Panel:
TStatusPanel; const Rect: TRect);
var TMP_Rect: TRect;
begin
TMP_Rect:=Rect;
if Panel.Index=0 then
with StatusBar do
begin
Canvas.Brush.Color:=Color;
Canvas.FillRect(Rect);
Canvas.Font.Color:=clBlue;
Canvas.Draw(Rect.Left,Rect.Top,Icon);
//Windows.DrawText(Canvas.Handle,PChar(Panel.Text),Length(Panel.Text),TMP_Re
ct,DT_CENTER or DT_VCENTER);
end;
end;
S pozdravem Milan Cizek, amatersky programator, D6.02 Ent
Win2k (SP2) a WinXP, cizek.milan@seznam.cz, ICQ: 59826637
Odpovedá: Vaclav Krmela
5. 10. 2002 14:43
> From: Milan Cizek
>
> snazim se vykreslit ikonu pred text ve statusbaru.
> Nic se ale nezobrazi, kde je problem?
Kazdy panel, ktery chces sam kreslit musi mit nastaveno
Style na psOwnerDraw. Podivej se do helpu na
TStatusBar.OnDrawPanel
> Jeste bych se chtel zeptat, je-li
> mozne pristupovat k obrazkum v imagelistu primo, abych je napr. mohl
> zobrazit prave ve statusbaru.
Podivej se do helpu na priklad. Je tam prave uvedeno
vykreslovani obrazku z ImageListu.
Ve tvem prikldu se odkazujes na ikonu Formu.
Ma tvuj Form vubec nejakou ikonu?
Vaclav Krmela
Odpovedá: Jaroslav Kuba
7. 10. 2002 10:40
Ahoj
Takto vykreslis obrazek z imaglistu do statusBaru napr v obsluze udalosti
StatusBarDrawPanel(StatusBar: TStatusBar; Panel:
> TStatusPanel; const Rect: TRect);
ImageList1.Draw (StatusBar.Canvas, Rect.Left + 2, Rect.Top + 1,
IndexObrazku);
> Ahoj,
> mam nasledujici problem: snazim se vykreslit ikonu pred text ve
statusbaru.
> Nic se ale nezobrazi, kde je problem? Zkousel jsem to i pomoci
> Windows.DrawIcon, ale vysledek je stejny. Jeste bych se chtel zeptat,
je-li
> mozne pristupovat k obrazkum v imagelistu primo, abych je napr. mohl
> zobrazit prave ve statusbaru. Diky.